#include <iostream>
#include <string>
using namespace std;

bool isPalindrome(int x) 
{
    // 负数不是回文数
    if (x < 0) 
    {
        return false;
    }

    //! 将整数转换为字符串
    string x_str = to_string(x);
    
    // 计算字符串的长度
    int length = x_str.length();
    
    // 比较字符串的正序和倒序
    /* 只需要比较一半 */
    for (int i = 0; i < length / 2; ++i) 
    {
        if (x_str[i] != x_str[length - 1 - i]) 
        {
            return false;
        }
    }
    return true;
}

int main() 
{
    while (1)
    {
        int num;
        std::cout << "请输入数字: ";
        std::cin >> num;

        if (isPalindrome(num)) 
        {
            std::cout << num << " 是一个回文数.\n";
        } 
        else 
        {
            std::cout << num << " 不是一个回文数.\n";
        }
    }
    return 0;
    
}
